package hp.com.dao;

import hp.com.entity.CartData;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;

public interface CartDataDAO {
    /**
     * 查看当前用户的所有购物车数据
     * @param name 用户ID
     * @return
     * @throws Exception
     */
    List<CartData> BuyCarShow(String name) throws Exception;

    /**
     * 删除指定的购物车数据
     * @param id 购物车数据id
     * @throws Exception
     */
    void DeleteCartData(int id) throws Exception;

    /**
     * 通过id获取指定的数据
     */
    CartData GetCartDataById(int id) throws Exception;

    /**
     * 更新购物车的数量、价格信息
     * @param dataId 数据id
     * @param amount 新的数量
     * @param newPrice 新的总价
     * @throws Exception
     */
    void UpdateAmountAndPrice(int dataId,int amount,double newPrice) throws Exception;

    /**
     *将商品添加到购物车
     * @param cart CartData对象（服务层创建）
     */
    boolean AddDataToCart(CartData cart) throws Exception;

    /**
     * 通过SUK代码获得SUK明文信息和该SUK搭配的价格，返回Map
     * @param suk suk代码
     * @return
     * @throws Exception
     */
    Map<String,String> GetTextSUKNPriceSUK(String suk)throws Exception;

    /**
     * 根据id获取该商品的第一张主图
     * @param id
     * @return
     * @throws Exception
     */
    String GetFirstPicById(int id) throws Exception;
}
